Sicherheitskonzept für Automatisierungssoftware Schutz vor Reverse-Engineering

Bedrohung durch Stuxnet & Co. Seitdem Stuxnet, Duqu und andere Schädlinge aktiv sind, ist der Schutz vor Manipulation stärker ins Bewusstsein der Unternehmen gerückt. Immer mehr Maschinen und Anlagen sind miteinander vernetzt, was das Risiko der Manipulation von außen steigert. Geschlossene Systeme wie in der Vergangenheit ließen solche Angriffe nicht zu. Inzwischen haben die Regierungen vieler Länder Programme gestartet oder \’Cyber-Abwehrzentren\‘ gegründet, um Systeme in kritischen Infrastrukturen vor Sabotage zu schützen. Hersteller fordern technische Maßnahmen zum Schutz gegen Produktpiraterie: um das Herstellen von Plagiaten zu erschweren, Reverse-Engineering zu verhindern, ihr Know-how zu schützen und die Integrität von Systemen sicherzustellen. Betriebssicherheit (Safety) ist nur noch gemeinsam mit Angriffssicherheit (Security) machbar. Übergreifendes Schutzkonzept Um die unterschiedlichen Anforderungen der Industrie nach einem Schutz gegen Reverse-Engineering zu erfüllen, hat die Wibu-Systems AG seine bestehende Softwareschutzlösung CodeMeter erweitert. Neben dem klassischen Softwareschutz wird CodeMeter eingesetzt als Kopierschutz gegen Nachbau, Schutz gegen Reverse-Engineering, um eine Analyse zu verhindern, und Integritätsschutz gegen Manipulation. Die Basis des Schutzes ist die Schutzhardware CmDongle (mit passenden Bauformen wie USB, SD, CF oder microSD gemäß industriellen Spezifikationen, wie extreme Temperaturen, starke elektrische und magnetische Felder und Nachrüstbarkeit) oder softwarebasiert über verschlüsselte Aktivierungsdateien. CodeMeter verschlüsselt den kompletten Programmcode und legt ihn im Speicher des Zielssystems ab, sodass eine statische Analyse durch Disassemblieren und Dekompilieren nicht möglich ist. Debugging-Schnittstellen sollten im Nutzbetrieb deaktiviert sein. Erfolgt ein Angriff, wehren Schutzmechanismen diesen ab: Der Angriff wird erkannt und daraufhin die Lizenz gesperrt, sodass der Code nicht mehr entschlüsselt werden kann. Um unberechtigte Veränderungen der Embedded-Software zu verhindern, wird der Programm-Code beim Hersteller digital signiert. Nur die korrekt signierten Programmteile werden vom Schutzmechanismus auf dem Zielsystem geladen und ausgeführt. Passt die Signatur nicht, wird die manipulierte Software nicht ausgeführt. Die Produktionsdaten werden ebenso durch Verschlüsselung geschützt, wobei im Schutzsystem der Maschine dann \’mitgezählt\‘ wird, beispielsweise wie viel Stück eines Stickmusters gestickt wurden. Das digitale Recht des Auftraggebers enthält also auch noch einen Zähler. So können Grauproduktionen am Wochenende oder in einer Nachtschicht mit Originaldaten verhindert werden. Sichere Softwarelizenzierung Die Funktion einer Maschine wird durch die Software bestimmt. Verschiedene Leistungsmerkmale oder Funktionen können über Software, die modular freigeschaltet wird, verkauft werden. Die CodeMeter License Central hilft bei der Erstellung, Verwaltung und Auslieferung von Lizenzen für diese Module. Auch ist die Einbindung in Vertriebsprozesse und vorhandene ERP- oder Shopsysteme möglich. CodeMeter wurde so in die Entwicklungsumgebung CoDeSys V3.5 integriert, dass Automatisierungshersteller, die ihre Steuerungssoftware damit entwickeln, ihre Software schützen können. Sie können ihren erzeugten Code vor dem Transfer auf die Steuerung verschlüsseln: Der erzeugte Code liegt dann verschlüsselt auf dem Datenträger in der Steuerung und kann nur mit einer passenden Lizenz entschlüsselt und genutzt werden. Diese Lizenz befindet sich im CmDongle: im Stick für die USB-Schnittstelle oder einer Einsteckkarte für die SD-, microSD- oder CF-Schnittstelle. Die CoDeSys-Runtime im Speicher der Steuerung entschlüsselt automatisch die Automatisierungssoftware. Durch die Ver- und Entschlüsselung mit Schlüsselvergabe ist diese Software sicher vor Reverse-Engineering und der unautorisierten Vervielfältigung. Der Hersteller der Software kann die Art der Verschlüsselung wählen: die \’einfache Verschlüsselung\‘ oder die \’Verschlüsselung mit Lizenzmanagement\‘. Bei der einfachen Variante kann er beim Anbieter von CoDeSys, der Firma 3S-Smart Software Solutions GmbH, vorprogrammierte Dongles in Form von CmSticks oder CmCards erwerben und zusammen mit seiner Lösung liefern. Da jede Maschine oder Anlage mit genau einem passenden Dongle funktioniert, ist ein hoher Schutzgrad gegeben. Die \’Verschlüsselung mit Lizenzmanagement\‘ bedeutet, dass der Hersteller direkt bei Wibu-Systems die notwendige Grundausstattung zur Ver- und Entschlüsselung erwirbt. Dazu gehören ein Master-Dongle zur Programmierung und leere CmDongles, deren Parameter er selbst bestimmt. Er steuert somit die Nutzung seiner Software beim Anwender, und reagiert flexibel auf die Anforderungen der Anwender. Zu den Parametern gehören: – Feature-on-Demand: Zu einem beliebigen Zeitpunkt können Funktionen freigeschaltet werden. So können Hersteller die Leistungsmerkmale ihrer Maschine individuell und auch nachträglich verkaufen. – Pay-per-Use-Mechanismen: Eine bestimmte Anzahl von Lizenzen für das Zielsystem werden verkauft oder die Nutzung bestimmter Funktionen wird gemessen und somit die Nutzung abgerechnet. Der Her- steller stellt somit sicher, dass er seine Zah- lungen bekommt. Diese Funktionen nutzt auch 3S-Smart Software Solutions GmbH selbst. Für den CoDeSys-Anwender sind diese Lizenzen im Lizenz-Manager sichtbar. Jede Lizenz ist farblich markiert nach gültiger, ungültiger oder keiner Lizenz. Im ersten Schritt wurde CodeMeter in die Entwicklungsumgebung CoDeSys integriert. Die dabei gewonnenen Erfahrungen fließen in die Entwicklung zurück, um den Schutz für weitere Automatisierungssysteme auszudehnen.